﻿using SharpKit.JavaScript;

namespace SharpKit.Onx
{
    /// <summary>
    /// 'console' object is used to output log messages from your scripts. Logs can be viewed on a 'Logs' page of the on{X} web portal.
    /// https://www.onx.ms/#apiPage/console
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class Console
    {
        //No way to new this up
        private Console()
        { }

        #region Actions (Methods)
        /// <summary>
        /// 
        /// </summary>
        /// <param name="mesesage"></param>
        [JsMethod(Name="log")]
        public void Log(params object[] mesesage)
        { }

        /// <summary>
        /// for outputting error-level log messages
        /// </summary>
        /// <param name="message"></param>
        [JsMethod(Name = "error")]
        public void Error(params object[] message)
        { }

        /// <summary>
        /// for outputting warning-level log messages
        /// </summary>
        /// <param name="message"></param>
        [JsMethod(Name = "message")]
        public void Warning(params object[] message)
        { }

        /// <summary>
        /// for outputting info-level log messages
        /// </summary>
        /// <param name="message"></param>
        [JsMethod(Name = "info")]
        public void Info(params object[] message)
        { }

        /// <summary>
        /// for outputting debug-level log messages
        /// </summary>
        /// <param name="message"></param>
        [JsMethod(Name = "debug")]
        public void Debug(params object[] message)
        { }

        /// <summary>
        /// for outputting verbose-level log messages
        /// </summary>
        /// <param name="message"></param>
        [JsMethod(Name = "verbose")]
        public void Verbose(params object[] message)
        { }
        #endregion
    }
}